package com.kd.dao.jobSeeker;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.kd.bean.jobSeeker.Basic_information;

/**
 * 求职者 数据持久化层接口
 * --基本资料（Basic_information）--
 * @author ZFC
 *
 */
public interface IBasic_informationDao {
	
	/**
	 * 求职者登录
	 * @param basic 求职者基本信息
	 * @return
	 * @throws Exception
	 */
	public Basic_information basicLogin(Basic_information basic) throws Exception;
	
	/**
	 * 求职者登注册
	 * @param basic 求职者基本信息
	 * @return
	 * @throws Exception
	 */
	public int basicRegister(Basic_information basic) throws Exception;
	
	/**
	 * 找回密码
	 * 1.显示原密码
	 * 根据邮箱地址，手机号码以及身份证号码查询密码
	 * @param basic 求职者基本信息
	 * @return
	 * @throws Exception
	 */
	public Basic_information retrievePasswordShowPassword(Basic_information basic) throws Exception; 
	
	/**
	 * 管理员操作
	 * 分页显示所有应聘者信息
	 * @return
	 * @throws Exception
	 */
	public List<Basic_information> queryAllBasic_information() throws Exception;
	
	/**
	 * 管理员操作
	 * 修改应聘者状态。禁用者不可登录，启用者可正常登录
	 * @param login_state
	 * @return
	 * @throws Exception
	 */
	public int updateBasic_login_state(@Param("basic_login_state")Integer basic_login_state,@Param("basic_id")Integer basic_id) throws Exception;
	
	/**
	 * 查询应聘者  通过应聘者id
	 * 管理员<操作查询所有举报招聘者消息，通过举报招聘者信息id   查询应聘者>
	 * @param basic_id
	 * @return
	 * @throws Exception
	 */
	public Basic_information queryByBasic_id(Integer basic_id) throws Exception;
	
	/**
	 * 管理员
	 * 求职人数
	 * @return
	 * @throws Exception
	 */
	public int queryBasicPersonCount() throws Exception;
	
	/**
	 * 招聘者
	 * 查询未投递过简历的应聘者
	 * 并且地址与招聘公司的地址相吻合
	 * 并是否接收本地区招聘公司的个人信息浏览
	 * @param rec_address 
	 * @return
	 * @throws Exception
	 */
	public List<Basic_information> queryByJudge_deliver_resumAndLikeRec_address(String rec_address) throws Exception;
	
	/**
	 * 修改个人资料
	 * @param basic_information
	 * @return
	 * @throws Exception
	 */
	public int updateBasic_information(Basic_information basic_information) throws Exception;
	
	/**
	 * 补充在线简历
	 * @param res_id
	 * @param basic_id
	 * @return
	 * @throws Exception
	 */
	public int updateOnline_resumes(@Param("res_id")Integer res_id,@Param("basic_id")Integer basic_id) throws Exception;
	
	/**
	 * 求职者修改密码
	 * @param basic_information
	 * @return
	 * @throws Exception
	 */
	public int updateBasic_informationPwd(Basic_information basic_information) throws Exception;
	
	/**
	 * 修改求职状态  求职者
	 * @param basic_job_state
	 * @param basic_id
	 * @return
	 * @throws Exception
	 */
	public int updateBasic_informationBasic_job_state(
			@Param("basic_job_state")Integer basic_job_state,@Param("basic_id")Integer basic_id) throws Exception;
	
	/**
	 * 查询求职者的  求职数
	 * @param basic_id
	 * @return
	 * @throws Exception
	 */
	public Integer queryjudge_deliver_resumCounts(Integer basic_id) throws Exception;
	
	/**
	 * 求改求职者的  求职数
	 * @param count
	 * @param basic_id
	 * @return
	 */
	public int updatejudge_deliver_resumCount(@Param("count")Integer count,@Param("basic_id")Integer basic_id) throws Exception;
	
}
